Networks provide for transmission of information from a source to a destination over a particular route. The information is transmitted along the route through routers. Typically, each router has knowledge of various routes available in the network and this knowledge is stored in a route database or route table. The information is transmitted throughout the network in accordance with a particular protocol and routers in the network may support any of a number of protocols. Thus, the router may store multiple routes, which are available using multiple protocols.
The Internet has become a particularly important network for transmission and distribution of data (text, code, image, video, audio, or mixed) and software. Users connect to the backbone of the Internet with broadly divergent levels of performance, ranging from 14.4 Kb/s to more than 45 Mb/s. Transmission Control Protocol/Internet Protocol (TCP/IP) has become a widely implemented standard communication protocol in Internet and Intranet technology, enabling broad heterogeneity between clients, servers, and the communications systems coupling them. Internet Protocol (IP) is the network layer protocol and Transmission Control Protocol (TCP) is the transport layer protocol. At the network level, IP provides a “datagram” delivery service. By contrast, TCP builds a transport level service over the datagram service to provide guaranteed, sequential delivery of a byte stream between two IP hosts.
In a large network such as the Internet, it is possible for one of the routes within the network to be causing data corruption. While each router along the route will perform a checksum on the header of each data packet received to detect data corruption of the packet, some data corruption caused along the route may only be detectable by performing a checksum on the entire payload of the received packet. Therefore, routers within the network are not aware that they are forwarding corrupted packets to the destination. This data corruption is only detected upon the packet's arrival at the receiving host, which performs a checksum on the entire payload. The receiving host will then send an acknowledgment to the sending host requesting retransmission of the corrupted data packets. However, since the sender host and receiver host hosts have no way of knowing which route caused the data corruption, they are unable to avoid that route in the retransmission of the data packets. Further, the sender host and receiver host hosts have no way of informing the routers within the network of the data corruption so that the routers can correct or avoid the corrupting route. Consequently, it can be seen that there is a need for a communications routing protocol and system that provides the rapid detection of bad links within the network so that the routers can route data packets around data corrupting links.